草庐IT

Android AsyncTask 内存泄漏

全部标签

c# - 从内存而不是磁盘向 CompilerParameters ReferencedAssemblies 提供程序集?

我有一个CompilerParameters对象,我用它来提供一个Microsoft.CSharp.CSharpCodeProvider对象和一个派生自该对象的ICodeCompiler对象。一切正常,我可以即时编译代码。我的问题是引用的程序集。现在,我只是将System.Reflection.Assembly.GetExecutingAssembly().GetReferencedAssemblies()中的所有程序集添加到编译器参数的ReferencedAssemblies中。这适用于硬盘上的文件。但是我有一个程序集在内存中而不是在磁盘上。当我尝试引用它时,我得到了一个FileNo

c# - WPF DropShadowEffect 和 Blur 内存泄漏

我正在编写一个应用程序,它本质上是一堆松散的xaml屏幕-没有代码隐藏,只是在运行时动态链接到ViewModel。周末在一台旧电脑上运行这个程序时,发生了崩溃。跟踪和重新创建显示igdumd32.dll(英特尔图形驱动程序dll)中存在内存泄漏。经过一些调查后,我编写了2个简单的独立应用程序,在中央屏幕上有一个非常简单的动画。1个没有效果,1个在动画上有dropshadoweffect-没有其他更改,实际上是对第一个应用程序的1行更改(xaml非常冗长,否则我会在此处发布)。我通过redgate的内存分析器工具运行了40分钟。第一个很好:但是第二个在igdumd32.dll和托管代码分

c# - 用于 .NET 的快速且内存高效的 ASCII 字符串类

这可能以前有人问过,但我找不到任何这样的帖子。是否有处理ASCII字符串的类?好处很多:比较应该更快,因为它只是逐字节比较(而不是使用可变编码的UTF-8)内存效率高,在大字符串中应该使用大约一半的内存ToUpper()/ToLower()的更快版本,使用语言不变的查找表JonSkeet写了一个基本的AsciiStringimplementation并证明了#2,但我想知道是否有人更进一步并完成了这样的类(class)。我确信会有用处,尽管通常没有人会采用这样的方法,因为所有现有的String函数都必须手动重新实现。StringAsciiString之间的转换会分散在各处,从而使原本简

c# - 静态成员什么时候获取内存

我有一个类有一个静态成员。据我了解,所有静态成员对于该类的所有实例都是通用的,这意味着静态成员只会分配一次内存。此内存分配在哪里(堆栈或堆)以及何时分配此内存?编辑:此内存不同于实例级内存。这个内存是如何被引用的?该内存是否在编译时分配? 最佳答案 静态成员总是存储在全局堆中,即使是引用类型成员。然而,这个堆不是普通的垃圾收集堆。在此处了解更多信息:http://www.codeproject.com/KB/cs/codeconcepts.aspx 关于c#-静态成员什么时候获取内存,我

c# - 处理内存泄漏的非托管 dll

我有一个c#应用程序,它依赖于第三方非托管程序集来访问某些硬件。非托管代码存在内存泄漏,每次访问后内存消耗将增加~10mb。问题是已知的;没有错误修正可用。有没有一种方法可以让我在不定期重启的情况下继续使用这个程序集?我尝试创建一个单独的AppDomain,通过appDomain.CreateInstanceAndUnwrap()将有问题的代码加载到该AppDomain中,然后通过AppDomain.Unload()卸载该域.然而,这显然不会释放该域使用的非托管内存,只会释放托管内存。我还可以将应用程序拆分为两个独立的部分,然后仅重新启动具有非托管dll的部分。然而,这将意味着重大的重

c# - 如何在不加载到内存的情况下对大型 csv 文件进行排序

我有20GB以上的csv文件,如下所示:**CallId,MessageNo,Information,Number**1000,1,a,299,2,bs,31000,3,g,466,2,a,320,16,3,b1000,7,c,499,1,lz,4...我必须按CallId和MessageNo作为asc订购此文件。(一种方式是loaddatabase->sort->export)在C#中,如何在不将所有行加载到内存的情况下对这个文件进行排序?(就像使用streamreader逐行一样)你知道解决方案的图书馆吗?我等你的建议,谢谢 最佳答案

c# - 如果接口(interface)调用 Dispose 的实现是否是泄漏抽象

考虑这段代码:publicclassMyClass(){publicMyClass(){}publicDoSomething(){using(varservice=newCustomerCreditServiceClient()){varcreditLimit=service.GetCreditLimit(customer.Firstname,customer.Surname,customer.DateOfBirth);}}}我们现在想重构它以松耦合。我们最终得到这个:publicclassMyClass(){privatereadonlyICustomerCreditServices

c# - 比较内存中的 2 个无序记录集

下面是我的应用程序数据库表,其中包含存储在表中的SQL查询:QueryStorageIdQueryConnectionStringRdbms1select...DataSourceSqlServer2select...DataSourceOracle上表中的SQL查询是通过网络服务更新的,我们不允许在查询之上更新,尽管我们可以在查询之上添加一些东西,如下所示:查询存储在表中:从源中选择id作为LinkedColumn,Amount作为CompareColumn从我的c#应用程序调整查询:从(存储的sql查询)中选择Q.LinkedColumn、Q.CompareColumn作为Q我正在

c# - 异步编程中的悬挂等待和可能的内存泄漏

.NET4.5和AsyncCTP4.0中包含await的流程可能会由于各种原因而卡住,例如因为远程客户端没有响应。当然,WaitForAny,当我们也等待某个超时任务时,显然是一种恢复高层流的解决方案。尽管如此,这并不能解决所有可能的问题。我有以下问题:永远不会返回的await的上下文会发生什么?我知道这会造成内存泄漏。我说得对吗?我如何在调试器中或使用相应的API检查应用程序中存在多少悬挂“等待者”?是否可以全局枚举它们?如果3.是正确的,是否可以强制取消这些*await*s的任务(即清理)?注意:在问题4中,我没有询问在显式任务创建期间要使用的取消项。我指的是间接创建任务的情况:a

c# - 在低内存 Windows Phone 设备中使用 HttpClient 上传大文件的最佳策略是什么?

我正在尝试使用类似的方法上传文件HttpClient:Howtouploadmultiplefilesatonce在WindowsPhone中。using(varcontent=newMultipartFormDataContent()){content.Add(CreateFileContent(imageStream,"image.jpg","image/jpeg"));content.Add(CreateFileContent(signatureStream,"image.jpg.sig","application/octet-stream"));varresponse=awai